Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Particle method</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Particle_method"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Particle_method rootpage-Particle_method skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Particle method</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>
<b>Particle methods</b> is a widely used class of numerical algorithms in scientific computing. Its application ranges from <a href="Computational_fluid_dynamics" title="Computational fluid dynamics">computational fluid dynamics</a> (CFD) over <a href="Molecular_dynamics" title="Molecular dynamics">molecular dynamics</a> (MD) to <a href="Discrete_element_method" title="Discrete element method">discrete element methods</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>One of the earliest particle methods is <a href="Smoothed_particle_hydrodynamics" class="mw-redirect" title="Smoothed particle hydrodynamics">smoothed particle hydrodynamics</a>, presented in 1977.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Libersky <i>et al.</i><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> were the first to apply SPH in solid mechanics. The main drawbacks of SPH are inaccurate results near boundaries and tension instability that was first investigated by Swegle.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>In the 1990s a new class of particle methods emerged. The <a href="Reproducing_kernel_particle_method" class="mw-redirect" title="Reproducing kernel particle method">reproducing kernel particle method</a><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> (RKPM) emerged, the approximation motivated in part to correct the kernel estimate in SPH: to give accuracy near boundaries, in non-uniform discretizations, and higher-order accuracy in general. Notably, in a parallel development, the <a href="Material_point_method" title="Material point method">Material point methods</a> were developed around the same time<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> which offer similar capabilities. During the 1990s and thereafter several other varieties were developed including those listed below.
</p>
<div class="mw-heading mw-heading2"><h2 id="List_of_methods_and_acronyms">List of methods and acronyms</h2></div>
<p>The following numerical methods are generally considered to fall within the general class of "particle" methods. Acronyms are provided in parentheses.
</p>
<ul><li><a href="Smoothed_particle_hydrodynamics" class="mw-redirect" title="Smoothed particle hydrodynamics">Smoothed particle hydrodynamics</a> (SPH) (1977)</li>
<li><a href="Dissipative_particle_dynamics" title="Dissipative particle dynamics">Dissipative particle dynamics</a> (DPD) (1992)</li>
<li><a href="Reproducing_kernel_particle_method" class="mw-redirect" title="Reproducing kernel particle method">Reproducing kernel particle method</a> (RKPM) (1995)</li>
<li><a href="Moving_particle_semi-implicit" class="mw-redirect" title="Moving particle semi-implicit">Moving particle semi-implicit</a> (MPS)</li>
<li><a href="Particle-in-cell" title="Particle-in-cell">Particle-in-cell</a> (PIC)</li>
<li>Moving particle finite element method (MPFEM)</li>
<li>Cracking particles method (CPM) (2004)</li>
<li>Immersed particle method (IPM) (2006)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>The mathematical definition of particle methods captures the structural commonalities of all particle methods.<sup id="cite_ref-pahlke_6-0" class="reference"><a href="#cite_note-pahlke-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> It, therefore, allows for formal reasoning across application domains.
The definition is structured into three parts:
First, the particle method algorithm structure, including structural components, namely data structures, and functions.
Second, the definition of a particle method instance. A particle method instance describes a specific problem or setting, which can be solved or simulated using the particle method algorithm.
Third, the definition of the particle state transition function.
The state transition function describes how a particle method proceeds from the instance to the final state using the data structures and functions from the particle method algorithm.<sup id="cite_ref-pahlke_6-1" class="reference"><a href="#cite_note-pahlke-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>A <b>particle method algorithm</b> is a 7-tuple <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>P</mi>
<mo>,</mo>
<mi>G</mi>
<mo>,</mo>
<mi>u</mi>
<mo>,</mo>
<mi>f</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>e</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>e</mi>
<mo>∘<!-- ∘ --></mo>
</mover>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}</annotation>
</semantics>
</math></span><img src="./a9727c340916be21221d5f9e91eb4032b26456cf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:17.163ex; height:3.509ex;" alt="{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}" loading="lazy"></span>, consisting of the two data structures
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&amp;P:=A_{1}\times A_{2}\times ...\times A_{n}&amp;&amp;{\text{the particle space,}}\\&amp;G:=B_{1}\times B_{2}\times ...\times B_{m}&amp;&amp;{\text{the global variable space,}}\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mo>:=</mo>
<msub>
<mi>A</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>×<!-- × --></mo>
<msub>
<mi>A</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>×<!-- × --></mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>×<!-- × --></mo>
<msub>
<mi>A</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the particle space,</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mi>G</mi>
<mo>:=</mo>
<msub>
<mi>B</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>×<!-- × --></mo>
<msub>
<mi>B</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>×<!-- × --></mo>
<mo>.</mo>
<mo>.</mo>
<mo>.</mo>
<mo>×<!-- × --></mo>
<msub>
<mi>B</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msub>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the global variable space,</mtext>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&amp;P:=A_{1}\times A_{2}\times ...\times A_{n}&amp;&amp;{\text{the particle space,}}\\&amp;G:=B_{1}\times B_{2}\times ...\times B_{m}&amp;&amp;{\text{the global variable space,}}\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./2b32c1ffd163bd1c21ea915cf4f93ff41aa8ca08.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.338ex; width:54.813ex; height:5.843ex;" alt="{\displaystyle {\begin{aligned}&amp;P:=A_{1}\times A_{2}\times ...\times A_{n}&amp;&amp;{\text{the particle space,}}\\&amp;G:=B_{1}\times B_{2}\times ...\times B_{m}&amp;&amp;{\text{the global variable space,}}\end{aligned}}}" loading="lazy"></span>
</p><p>such that <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [G\times P^{*}]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [G\times P^{*}]}</annotation>
</semantics>
</math></span><img src="./23bef26dc0c24bd88afdb07866ae0d3e7898bc51.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.837ex; height:2.843ex;" alt="{\displaystyle [G\times P^{*}]}" loading="lazy"></span>
is the state space of the particle method, and five functions:
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&amp;u:[G\times P^{*}]\times \mathbb {N} \rightarrow \mathbb {N} ^{*}&amp;&amp;{\text{the neighborhood function,}}\\&amp;f:G\rightarrow \{\top ,\bot \}&amp;&amp;{\text{the stopping condition,}}\\&amp;i:G\times P\times P\rightarrow P\times P&amp;&amp;{\text{the interact function,}}\\&amp;e:G\times P\rightarrow G\times P^{*}\ &amp;&amp;{\text{the evolve function,}}\\&amp;{\overset {\circ }{e}}:G\rightarrow G&amp;&amp;{\text{the evolve function of the global variable.}}\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>u</mi>
<mo>:</mo>
<mo stretchy="false">[</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>×<!-- × --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">N</mi>
</mrow>
<mo stretchy="false">→<!-- → --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">N</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the neighborhood function,</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mi>f</mi>
<mo>:</mo>
<mi>G</mi>
<mo stretchy="false">→<!-- → --></mo>
<mo fence="false" stretchy="false">{</mo>
<mi mathvariant="normal">⊤<!-- ⊤ --></mi>
<mo>,</mo>
<mi mathvariant="normal">⊥<!-- ⊥ --></mi>
<mo fence="false" stretchy="false">}</mo>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the stopping condition,</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mi>i</mi>
<mo>:</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi>P</mi>
<mo>×<!-- × --></mo>
<mi>P</mi>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the interact function,</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mi>e</mi>
<mo>:</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mtext>&nbsp;</mtext>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the evolve function,</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>e</mi>
<mo>∘<!-- ∘ --></mo>
</mover>
</mrow>
<mo>:</mo>
<mi>G</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi>G</mi>
</mtd>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>the evolve function of the global variable.</mtext>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&amp;u:[G\times P^{*}]\times \mathbb {N} \rightarrow \mathbb {N} ^{*}&amp;&amp;{\text{the neighborhood function,}}\\&amp;f:G\rightarrow \{\top ,\bot \}&amp;&amp;{\text{the stopping condition,}}\\&amp;i:G\times P\times P\rightarrow P\times P&amp;&amp;{\text{the interact function,}}\\&amp;e:G\times P\rightarrow G\times P^{*}\ &amp;&amp;{\text{the evolve function,}}\\&amp;{\overset {\circ }{e}}:G\rightarrow G&amp;&amp;{\text{the evolve function of the global variable.}}\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./0f3d891b0cfcde5e4a0c6e0b350e9831b35279c3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -7.002ex; margin-bottom: -0.336ex; width:70.365ex; height:15.676ex;" alt="{\displaystyle {\begin{aligned}&amp;u:[G\times P^{*}]\times \mathbb {N} \rightarrow \mathbb {N} ^{*}&amp;&amp;{\text{the neighborhood function,}}\\&amp;f:G\rightarrow \{\top ,\bot \}&amp;&amp;{\text{the stopping condition,}}\\&amp;i:G\times P\times P\rightarrow P\times P&amp;&amp;{\text{the interact function,}}\\&amp;e:G\times P\rightarrow G\times P^{*}\ &amp;&amp;{\text{the evolve function,}}\\&amp;{\overset {\circ }{e}}:G\rightarrow G&amp;&amp;{\text{the evolve function of the global variable.}}\end{aligned}}}" loading="lazy"></span>
</p><p>An initial state defines a <b>particle method instance</b> for a given particle method algorithm <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>P</mi>
<mo>,</mo>
<mi>G</mi>
<mo>,</mo>
<mi>u</mi>
<mo>,</mo>
<mi>f</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>e</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>e</mi>
<mo>∘<!-- ∘ --></mo>
</mover>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}</annotation>
</semantics>
</math></span><img src="./a9727c340916be21221d5f9e91eb4032b26456cf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:17.163ex; height:3.509ex;" alt="{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}" loading="lazy"></span>:
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g^{1},\mathbf {p} ^{1}]\in [G\times P^{*}].}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>∈<!-- ∈ --></mo>
<mo stretchy="false">[</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g^{1},\mathbf {p} ^{1}]\in [G\times P^{*}].}</annotation>
</semantics>
</math></span><img src="./3d39e87b8e60e5bf0b4859702100207dce0005e7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.364ex; height:3.176ex;" alt="{\displaystyle [g^{1},\mathbf {p} ^{1}]\in [G\times P^{*}].}" loading="lazy"></span>
</p><p>The instance consists of an initial value for the global variable <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g^{1}\in G}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>∈<!-- ∈ --></mo>
<mi>G</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g^{1}\in G}</annotation>
</semantics>
</math></span><img src="./e7abcd1bf5e79febff194f69db42e56ab6cd8392.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.84ex; height:3.009ex;" alt="{\displaystyle g^{1}\in G}" loading="lazy"></span> and an initial tuple of particles <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {p} ^{1}\in P^{*}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>∈<!-- ∈ --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {p} ^{1}\in P^{*}}</annotation>
</semantics>
</math></span><img src="./27baba10ec1c00522a1b47d887e980b48fd62c1c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.256ex; height:3.009ex;" alt="{\displaystyle \mathbf {p} ^{1}\in P^{*}}" loading="lazy"></span>.
</p><p>In a specific particle method, the elements of the tuple <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>P</mi>
<mo>,</mo>
<mi>G</mi>
<mo>,</mo>
<mi>u</mi>
<mo>,</mo>
<mi>f</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>e</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>e</mi>
<mo>∘<!-- ∘ --></mo>
</mover>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}</annotation>
</semantics>
</math></span><img src="./a9727c340916be21221d5f9e91eb4032b26456cf.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:17.163ex; height:3.509ex;" alt="{\displaystyle (P,G,u,f,i,e,{\overset {\circ }{e}})}" loading="lazy"></span> need to be specified. Given a specific starting point defined by an instance <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g^{1},\mathbf {p} ^{1}]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g^{1},\mathbf {p} ^{1}]}</annotation>
</semantics>
</math></span><img src="./3a6e76d1347069eedb0f89e0a4ba84e44a6f0d28.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.04ex; height:3.176ex;" alt="{\displaystyle [g^{1},\mathbf {p} ^{1}]}" loading="lazy"></span>, the algorithm proceeds in iterations.
Each iteration corresponds to one state transition step <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle s}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>s</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle s}</annotation>
</semantics>
</math></span><img src="./01d131dfd7673938b947072a13a9744fe997e632.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.09ex; height:1.676ex;" alt="{\displaystyle s}" loading="lazy"></span> that advances the current state of the particle method <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g^{t},\mathbf {p} ^{t}]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g^{t},\mathbf {p} ^{t}]}</annotation>
</semantics>
</math></span><img src="./fc4686ceb0ca1f0ad68e6ae0815c88322d644b10.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.583ex; height:3.009ex;" alt="{\displaystyle [g^{t},\mathbf {p} ^{t}]}" loading="lazy"></span> to the next state <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g^{t+1},\mathbf {p} ^{t+1}]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g^{t+1},\mathbf {p} ^{t+1}]}</annotation>
</semantics>
</math></span><img src="./586d51da19026536d7cebd4e1e6f1088ecd814c8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.784ex; height:3.176ex;" alt="{\displaystyle [g^{t+1},\mathbf {p} ^{t+1}]}" loading="lazy"></span>.
The state transition uses the functions
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle u,i,e,{\overset {\circ }{e}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>u</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>e</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>e</mi>
<mo>∘<!-- ∘ --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle u,i,e,{\overset {\circ }{e}}}</annotation>
</semantics>
</math></span><img src="./bf45af06e0d65c8ab8196de1808d52808ef1e3b1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.401ex; height:3.343ex;" alt="{\displaystyle u,i,e,{\overset {\circ }{e}}}" loading="lazy"></span>
to determine the next state.
The <b>state transition function</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S}</annotation>
</semantics>
</math></span><img src="./4611d85173cd3b508e67077d4a1252c9c05abca2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.499ex; height:2.176ex;" alt="{\displaystyle S}" loading="lazy"></span> generates a series of state transition steps until the stopping function <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f}</annotation>
</semantics>
</math></span><img src="./132e57acb643253e7810ee9702d9581f159a1c61.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.279ex; height:2.509ex;" alt="{\displaystyle f}" loading="lazy"></span> is <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle true}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
<mi>r</mi>
<mi>u</mi>
<mi>e</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle true}</annotation>
</semantics>
</math></span><img src="./8a6eed06737c40c0afef0a4e92449a1b2700ec6c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.301ex; height:2.009ex;" alt="{\displaystyle true}" loading="lazy"></span>. The so-calculated final state is the result of the state transition function. The state transition function is identical for every particle method.
</p><p>The <b>state transition function</b> is defined as
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S:[G\times P^{*}]\rightarrow [G\times P^{*}]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
<mo>:</mo>
<mo stretchy="false">[</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo stretchy="false">→<!-- → --></mo>
<mo stretchy="false">[</mo>
<mi>G</mi>
<mo>×<!-- × --></mo>
<msup>
<mi>P</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>∗<!-- ∗ --></mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S:[G\times P^{*}]\rightarrow [G\times P^{*}]}</annotation>
</semantics>
</math></span><img src="./d7c8d502c913649a49cde52447d50e3ed5f02def.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:24.724ex; height:2.843ex;" alt="{\displaystyle S:[G\times P^{*}]\rightarrow [G\times P^{*}]}" loading="lazy"></span>
</p><p>with
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g^{T},\mathbf {p} ^{T}]:=S([g^{1},\mathbf {p} ^{1}])}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>:=</mo>
<mi>S</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g^{T},\mathbf {p} ^{T}]:=S([g^{1},\mathbf {p} ^{1}])}</annotation>
</semantics>
</math></span><img src="./b4b862268056ae291166d6d0a485a79c9e41edeb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:21.803ex; height:3.176ex;" alt="{\displaystyle [g^{T},\mathbf {p} ^{T}]:=S([g^{1},\mathbf {p} ^{1}])}" loading="lazy"></span>.
</p><p>The pseudo-code illustrates the particle method state transition function:
</p>
<pre> 1 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g,\mathbf {p} ]=[g^{1},\mathbf {p} ^{1}]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<mi>g</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mo stretchy="false">]</mo>
<mo>=</mo>
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g,\mathbf {p} ]=[g^{1},\mathbf {p} ^{1}]}</annotation>
</semantics>
</math></span><img src="./ce6b0539481596f1b4522e2eb8d35f755edd903a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.067ex; height:3.176ex;" alt="{\displaystyle [g,\mathbf {p} ]=[g^{1},\mathbf {p} ^{1}]}" loading="lazy"></span>
2 <b>while</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f(g)=false}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>f</mi>
<mi>a</mi>
<mi>l</mi>
<mi>s</mi>
<mi>e</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f(g)=false}</annotation>
</semantics>
</math></span><img src="./1a670d175500fe22de0337a7705d18c190c9c779.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.678ex; height:2.843ex;" alt="{\displaystyle f(g)=false}" loading="lazy"></span>
3 <b>for</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j=1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j=1}</annotation>
</semantics>
</math></span><img src="./91423fb032c471061948939f4a6811bf463780e0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:5.246ex; height:2.509ex;" alt="{\displaystyle j=1}" loading="lazy"></span> <b>to</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |\mathbf {p} |}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |\mathbf {p} |}</annotation>
</semantics>
</math></span><img src="./6412e280b338030b7a5201182d0051f1b5b8bb25.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:2.779ex; height:2.843ex;" alt="{\displaystyle |\mathbf {p} |}" loading="lazy"></span>
4 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {k} =u([g,\mathbf {p} ],j)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mo>=</mo>
<mi>u</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mi>g</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mo stretchy="false">]</mo>
<mo>,</mo>
<mi>j</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {k} =u([g,\mathbf {p} ],j)}</annotation>
</semantics>
</math></span><img src="./d5bbd6619394c9f2d3dbb594c360fed07a2b90a1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.569ex; height:2.843ex;" alt="{\displaystyle \mathbf {k} =u([g,\mathbf {p} ],j)}" loading="lazy"></span>
5 <b>for</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle l=1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>l</mi>
<mo>=</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle l=1}</annotation>
</semantics>
</math></span><img src="./8fc60b21200ebf2b338c4fa71b103cb697b02bd3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.954ex; height:2.176ex;" alt="{\displaystyle l=1}" loading="lazy"></span> <b>to</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |\mathbf {k} |}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |\mathbf {k} |}</annotation>
</semantics>
</math></span><img src="./28f15f361169715b1002978c24dd66bef1d7fc8c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:2.705ex; height:2.843ex;" alt="{\displaystyle |\mathbf {k} |}" loading="lazy"></span>
6 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (p_{j},p_{k_{j}})=i(g,p_{j},p_{k_{j}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>i</mi>
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (p_{j},p_{k_{j}})=i(g,p_{j},p_{k_{j}})}</annotation>
</semantics>
</math></span><img src="./083e2116875b6b6fbf7549a2b35924492487e58e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:21.84ex; height:3.176ex;" alt="{\displaystyle (p_{j},p_{k_{j}})=i(g,p_{j},p_{k_{j}})}" loading="lazy"></span>
7 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} =()}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mo>=</mo>
<mo stretchy="false">(</mo>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} =()}</annotation>
</semantics>
</math></span><img src="./4de1a439d6b56268a6b908e4fef02fb9d1187cf8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.323ex; height:2.843ex;" alt="{\displaystyle \mathbf {q} =()}" loading="lazy"></span>
8 <b>for</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle j=1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle j=1}</annotation>
</semantics>
</math></span><img src="./91423fb032c471061948939f4a6811bf463780e0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.027ex; width:5.246ex; height:2.509ex;" alt="{\displaystyle j=1}" loading="lazy"></span> <b>to</b> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |\mathbf {p} |}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |\mathbf {p} |}</annotation>
</semantics>
</math></span><img src="./6412e280b338030b7a5201182d0051f1b5b8bb25.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:2.779ex; height:2.843ex;" alt="{\displaystyle |\mathbf {p} |}" loading="lazy"></span>
9 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (g,{\overline {\mathbf {q} }})=e(g,p_{j})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>e</mi>
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (g,{\overline {\mathbf {q} }})=e(g,p_{j})}</annotation>
</semantics>
</math></span><img src="./a50ad3cace6c17942eba7122382f12d2362739d1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:15.713ex; height:3.009ex;" alt="{\displaystyle (g,{\overline {\mathbf {q} }})=e(g,p_{j})}" loading="lazy"></span>
10 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} =\mathbf {q} \circ {\overline {\mathbf {q} }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mo>∘<!-- ∘ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mo accent="false">¯<!-- ¯ --></mo>
</mover>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} =\mathbf {q} \circ {\overline {\mathbf {q} }}}</annotation>
</semantics>
</math></span><img src="./c52d9cc03c4cc7a53f877d1467086118de028c16.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.658ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} =\mathbf {q} \circ {\overline {\mathbf {q} }}}" loading="lazy"></span>
11 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {p} =\mathbf {q} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {p} =\mathbf {q} }</annotation>
</semantics>
</math></span><img src="./d8214b31ac41954d8e147f4543edafd93c9f2415.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.999ex; height:2.009ex;" alt="{\displaystyle \mathbf {p} =\mathbf {q} }" loading="lazy"></span>
12 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g={\overset {\circ }{e}}(g)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>g</mi>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>e</mi>
<mo>∘<!-- ∘ --></mo>
</mover>
</mrow>
<mo stretchy="false">(</mo>
<mi>g</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle g={\overset {\circ }{e}}(g)}</annotation>
</semantics>
</math></span><img src="./ab2412cbf857f7793c5ac30c034a703f7e4232f2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.223ex; height:3.509ex;" alt="{\displaystyle g={\overset {\circ }{e}}(g)}" loading="lazy"></span>
13 <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle [g^{T},\mathbf {p} ^{T}]=[g,\mathbf {p} ]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">[</mo>
<msup>
<mi>g</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>=</mo>
<mo stretchy="false">[</mo>
<mi>g</mi>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle [g^{T},\mathbf {p} ^{T}]=[g,\mathbf {p} ]}</annotation>
</semantics>
</math></span><img src="./11fd7444e11ab7e622e1c655e1df89820ae46c2f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.737ex; height:3.176ex;" alt="{\displaystyle [g^{T},\mathbf {p} ^{T}]=[g,\mathbf {p} ]}" loading="lazy"></span>
</pre>
<p>The fat symbols are tuples, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {p} ,\mathbf {q} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mo>,</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {p} ,\mathbf {q} }</annotation>
</semantics>
</math></span><img src="./6a23abdc463ddf71b1b7058a3762b8cda6ff8fb3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.935ex; height:2.009ex;" alt="{\displaystyle \mathbf {p} ,\mathbf {q} }" loading="lazy"></span> are particle tuples and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {k} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {k} }</annotation>
</semantics>
</math></span><img src="./9ea699cbc1f843f2e855577d57529430ec33a1ed.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:2.176ex;" alt="{\displaystyle \mathbf {k} }" loading="lazy"></span> is an index tuple. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle ()}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle ()}</annotation>
</semantics>
</math></span><img src="./d7bc8aa05e1302397bb3e7877e842784991351df.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:1.809ex; height:2.843ex;" alt="{\displaystyle ()}" loading="lazy"></span> is the empty tuple. The operator <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \circ }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>∘<!-- ∘ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \circ }</annotation>
</semantics>
</math></span><img src="./99add39d2b681e2de7ff62422c32704a05c7ec31.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: 0.125ex; margin-bottom: -0.297ex; width:1.162ex; height:1.509ex;" alt="{\displaystyle \circ }" loading="lazy"></span> is the <a href="Concatenation" title="Concatenation">concatenation</a> of the particle tuples, e.g. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (p_{1},p_{2})\circ (p_{3},p_{4},p_{5})=(p_{1},p_{2},p_{3},p_{4},p_{5})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>∘<!-- ∘ --></mo>
<mo stretchy="false">(</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>5</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mo stretchy="false">(</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>5</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (p_{1},p_{2})\circ (p_{3},p_{4},p_{5})=(p_{1},p_{2},p_{3},p_{4},p_{5})}</annotation>
</semantics>
</math></span><img src="./356ccc7e16f9b2a1377a4658c1edeacdab9b86f5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:40.195ex; height:2.843ex;" alt="{\displaystyle (p_{1},p_{2})\circ (p_{3},p_{4},p_{5})=(p_{1},p_{2},p_{3},p_{4},p_{5})}" loading="lazy"></span>. And <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |\mathbf {p} |}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |\mathbf {p} |}</annotation>
</semantics>
</math></span><img src="./6412e280b338030b7a5201182d0051f1b5b8bb25.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:2.779ex; height:2.843ex;" alt="{\displaystyle |\mathbf {p} |}" loading="lazy"></span> is the number of elements in the tuple <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {p} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">p</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {p} }</annotation>
</semantics>
</math></span><img src="./dd73e3862cb92b016721b8c492eadb4e8a577527.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.485ex; height:2.009ex;" alt="{\displaystyle \mathbf {p} }" loading="lazy"></span>, e.g. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle |(p_{1},p_{2})|=2}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mo>=</mo>
<mn>2</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle |(p_{1},p_{2})|=2}</annotation>
</semantics>
</math></span><img src="./ccc6b5259ae2e702f5e9bf8988cf30a821cd563f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.845ex; height:2.843ex;" alt="{\displaystyle |(p_{1},p_{2})|=2}" loading="lazy"></span>.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Continuum_mechanics" title="Continuum mechanics">Continuum mechanics</a></li>
<li><a href="Boundary_element_method" title="Boundary element method">Boundary element method</a></li>
<li><a href="Immersed_boundary_method" title="Immersed boundary method">Immersed boundary method</a></li>
<li><a href="Stencil_code" class="mw-redirect" title="Stencil code">Stencil code</a></li>
<li><a href="Meshfree_methods" title="Meshfree methods">Meshfree methods</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Gingold RA, Monaghan JJ (1977). Smoothed particle hydrodynamics – theory and application to non-spherical stars. Mon Not R Astron Soc 181:375–389</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">Libersky, L.D., Petscheck, A.G., Carney, T.C., Hipp, J.R., Allahdadi, F.A. (1993). High Strain Lagrangian Hydrodynamics. <i>Journal of Computational Physics</i>.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Swegle, J.W., Hicks, D.L., Attaway, S.W. (1995). Smoothed Particle Hydrodynamics Stability Analysis. <i>Journal of Computational Physics</i>. 116(1), 123-134</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">Liu, W.K., Jun, S., Zhang, Y.F. (1995), Reproducing kernel particle methods, <i>International Journal of Numerical Methods in Fluids</i>. 20, 1081-1106. </span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">D. Sulsky, Z., Chen, H. Schreyer (1994). a Particle Method for History-Dependent Materials. <i>Computer Methods in Applied Mechanics and Engineering</i> (118) 1, 179-196.</span>
</li>
<li id="cite_note-pahlke-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-pahlke_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-pahlke_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFPahlkeSbalzarini2023" class="citation journal cs1">Pahlke, Johannes; Sbalzarini, Ivo F. (March 2023). <a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FOJCS.2023.3254466">"A Unifying Mathematical Definition of Particle Methods"</a>. <i>IEEE Open Journal of the Computer Society</i>. <b>4</b>: <span class="nowrap">97–</span>108. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FOJCS.2023.3254466">10.1109/OJCS.2023.3254466</a></span>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:257480034">257480034</a>.</cite> <i><span typeof="mw:File"><a href="https://creativecommons.org/licenses/by/4.0/" title="creativecommons:by/4.0/" class="external"></a></span>&nbsp;This article incorporates text available under the <a href="https://creativecommons.org/licenses/by/4.0/" class="extiw external" title="creativecommons:by/4.0/">CC BY 4.0</a> license.</i></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */


.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}


/* end https://en.wikipedia.org/ */
</style><div class="refbegin" style="">
<ul><li>Liu MB, Liu GR, Zong Z, AN OVERVIEW ON SMOOTHED PARTICLE HYDRODYNAMICS, INTERNATIONAL JOURNAL OF COMPUTATIONAL METHODS Vol. 5 Issue: 1, 135–188, 2008.</li>
<li>Liu, G.R., Liu, M.B. (2003). <i>Smoothed Particle Hydrodynamics, a meshfree and Particle Method</i>, World Scientific, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>981-238-456-1</bdi>.</li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.particleworks.com/technical_column01_en.html">Particle Methods</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Numerical_methods_for_partial_differential_equations284" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Numerical_methods_for_partial_differential_equations284" style="font-size:114%;margin:0 4em"><a href="Numerical_methods_for_partial_differential_equations" title="Numerical methods for partial differential equations">Numerical methods for partial differential equations</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Finite_difference_method" title="Finite difference method">Finite difference</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Parabolic_partial_differential_equation" title="Parabolic partial differential equation">Parabolic</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="FTCS_scheme" title="FTCS scheme">Forward-time central-space</a> (FTCS)</li>
<li><a href="Crank%E2%80%93Nicolson_method" title="Crank–Nicolson method">Crank–Nicolson</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Hyperbolic_partial_differential_equation" title="Hyperbolic partial differential equation">Hyperbolic</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Lax%E2%80%93Friedrichs_method" title="Lax–Friedrichs method">Lax–Friedrichs</a></li>
<li><a href="Lax%E2%80%93Wendroff_method" title="Lax–Wendroff method">Lax–Wendroff</a></li>
<li><a href="MacCormack_method" title="MacCormack method">MacCormack</a></li>
<li><a href="Upwind_scheme" title="Upwind scheme">Upwind</a></li>
<li><a href="Method_of_characteristics" title="Method of characteristics">Method of characteristics</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Others</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Alternating_direction_implicit_method" class="mw-redirect" title="Alternating direction implicit method">Alternating direction-implicit</a> (ADI)</li>
<li><a href="Finite-difference_frequency-domain_method" title="Finite-difference frequency-domain method">Finite-difference frequency-domain</a> (FDFD)</li>
<li><a href="Finite-difference_time-domain_method" title="Finite-difference time-domain method">Finite-difference time-domain</a> (FDTD)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Finite_volume_method" title="Finite volume method">Finite volume</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Godunov's_scheme" title="Godunov's scheme">Godunov</a></li>
<li><a href="High-resolution_scheme" title="High-resolution scheme">High-resolution</a></li>
<li><a href="MUSCL_scheme" title="MUSCL scheme">Monotonic upstream-centered</a> (MUSCL)</li>
<li><a href="AUSM" class="mw-redirect" title="AUSM">Advection upstream-splitting</a> (AUSM)</li>
<li><a href="Riemann_solver" title="Riemann solver">Riemann solver</a></li>
<li><a href="ENO_methods" title="ENO methods">Essentially non-oscillatory</a> (ENO)</li>
<li><a href="WENO_methods" title="WENO methods">Weighted essentially non-oscillatory</a> (WENO)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Finite_element_method" title="Finite element method">Finite element</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hp-FEM" title="Hp-FEM">hp-FEM</a></li>
<li><a href="Extended_finite_element_method" title="Extended finite element method">Extended</a> (XFEM)</li>
<li><a href="Discontinuous_Galerkin_method" title="Discontinuous Galerkin method">Discontinuous Galerkin</a> (DG)</li>
<li><a href="Spectral_element_method" title="Spectral element method">Spectral element</a> (SEM)</li>
<li><a href="Mortar_methods" title="Mortar methods">Mortar</a></li>
<li><a href="Gradient_discretisation_method" title="Gradient discretisation method">Gradient discretisation</a> (GDM)</li>
<li><a href="Loubignac_iteration" title="Loubignac iteration">Loubignac iteration</a></li>
<li><a href="Smoothed_finite_element_method" title="Smoothed finite element method">Smoothed</a> (S-FEM)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Meshfree_methods" title="Meshfree methods">Meshless/Meshfree</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Smoothed-particle_hydrodynamics" title="Smoothed-particle hydrodynamics">Smoothed-particle hydrodynamics</a> (SPH)</li>
<li><a href="Peridynamics" title="Peridynamics">Peridynamics</a> (PD)</li>
<li><a href="Moving_particle_semi-implicit_method" title="Moving particle semi-implicit method">Moving particle semi-implicit method</a> (MPS)</li>
<li><a href="Material_point_method" title="Material point method">Material point method</a> (MPM)</li>
<li><a href="Particle-in-cell" title="Particle-in-cell">Particle-in-cell</a> (PIC)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Domain_decomposition_methods" title="Domain decomposition methods">Domain decomposition</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Schur_complement_method" title="Schur complement method">Schur complement</a></li>
<li><a href="Fictitious_domain_method" title="Fictitious domain method">Fictitious domain</a></li>
<li><a href="Schwarz_alternating_method" title="Schwarz alternating method">Schwarz alternating</a>
<ul><li><a href="Additive_Schwarz_method" title="Additive Schwarz method">additive</a></li>
<li><a href="Abstract_additive_Schwarz_method" title="Abstract additive Schwarz method">abstract additive</a></li></ul></li>
<li><a href="Neumann%E2%80%93Dirichlet_method" title="Neumann–Dirichlet method">Neumann–Dirichlet</a></li>
<li><a href="Neumann%E2%80%93Neumann_methods" title="Neumann–Neumann methods">Neumann–Neumann</a></li>
<li><a href="Poincar%C3%A9%E2%80%93Steklov_operator" title="Poincaré–Steklov operator">Poincaré–Steklov operator</a></li>
<li><a href="Balancing_domain_decomposition_method" title="Balancing domain decomposition method">Balancing</a> (BDD)</li>
<li><a href="BDDC" title="BDDC">Balancing by constraints</a> (BDDC)</li>
<li><a href="FETI" title="FETI">Tearing and interconnect</a> (FETI)</li>
<li><a href="FETI-DP" title="FETI-DP">FETI-DP</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Others</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Spectral_method" title="Spectral method">Spectral</a></li>
<li><a href="Pseudo-spectral_method" title="Pseudo-spectral method">Pseudospectral</a> (DVR)</li>
<li><a href="Method_of_lines" title="Method of lines">Method of lines</a></li>
<li><a href="Multigrid_method" title="Multigrid method">Multigrid</a></li>
<li><a href="Collocation_method" title="Collocation method">Collocation</a></li>
<li><a href="Level-set_method" title="Level-set method">Level-set</a></li>
<li><a href="Boundary_element_method" title="Boundary element method">Boundary element</a>
<ul><li><a href="Method_of_moments_(electromagnetics)" title="Method of moments (electromagnetics)">Method of moments</a></li></ul></li>
<li><a href="Immersed_boundary_method" title="Immersed boundary method">Immersed boundary</a></li>
<li><a href="Analytic_element_method" title="Analytic element method">Analytic element</a></li>
<li><a href="Isogeometric_analysis" title="Isogeometric analysis">Isogeometric analysis</a></li>
<li><a href="Infinite_difference_method" title="Infinite difference method">Infinite difference method</a></li>
<li><a href="Infinite_element_method" title="Infinite element method">Infinite element method</a></li>
<li><a href="Galerkin_method" title="Galerkin method">Galerkin method</a>
<ul><li><a href="Petrov%E2%80%93Galerkin_method" title="Petrov–Galerkin method">Petrov–Galerkin method</a></li></ul></li>
<li><a href="Validated_numerics" title="Validated numerics">Validated numerics</a></li>
<li><a href="Computer-assisted_proof" title="Computer-assisted proof">Computer-assisted proof</a></li>
<li><a href="Integrable_algorithm" title="Integrable algorithm">Integrable algorithm</a></li>
<li><a href="Method_of_fundamental_solutions" title="Method of fundamental solutions">Method of fundamental solutions</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Numerical_methods_for_ordinary_differential_equations" title="Numerical methods for ordinary differential equations">Numerical methods for ordinary differential equations</a></li>
<li><a href="Numerical_integration" title="Numerical integration">Numerical integration</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-03-08" href="https://en.wikipedia.org/wiki/?title=Particle_method&amp;oldid=1212528485">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>